草庐IT

Python Flask框架-开发简单博客-开篇介绍

全部标签

ruby-on-rails - 了解 Rails 中的简单 ActiveRecord 更新

我刚刚深入研究ActiveRecord,但未能找到我的问题的答案。如果我正在更新对象的属性然后调用save()...ActiveRecord是否仅在新值与旧值不同时才保存到数据库?假设我做了这样的事情:thing_to_update=Thing.find_or_create_by_code(some_code)ifthing_to_update.name!=some_namething_to_update.update_attribute(:name,some_name)end如果不需要的话,我不想对数据库进行额外的调用,因为我可能不得不更新很多对象。我试图通读文档,但它没有提及任何关

ruby-on-rails - 如何开发 gem ?

我想编写自己的gem来帮助我的Rails应用程序。它还将包括一些提供html的Controller。所以我需要在浏览器(html/css/js)中测试它。最佳做法是什么?现在我正在使用echoegem来构建我的gem(还有更好的gem吗?)。rake安装切换到其他标签停止Rails应用程序启动Rails应用程序(所以它已经加载了gem)然后在具有良好旧刷新的浏览器中对其进行测试。这不好玩。我能以某种方式提高效率吗?不为ruby​​文件编写测试是不是疯了? 最佳答案 您可以使用两种资源来帮助您:https://github.com/k

Ruby 正则表达式,只有一次捕获(非常简单!)

我想这将是一个愚蠢的错误,但对我来说,以下返回一个仅包含“M”的数组。看这个:/(.)+?/.match("Manymanycharacters!").captures=>["M"]为什么它不返回每个字符的数组?我一定是错过了一些明显的东西,因为我看不出这有什么问题?编辑:刚刚意识到,我不需要+?但没有它仍然无法工作。编辑:抱歉!我会澄清:我的目标是让用户输入正则表达式和样式以及输入文本文件,只要有匹配项,文本就会被html元素包围并应用样式,我不只是拆分将字符串转换为字符,我只使用了给定的正则表达式,因为它是最简单的,尽管这对我来说很愚蠢。我如何从scan()获取捕获组或者这是不可能

ruby - 在 gem 上运行测试的简单方法?

有没有一种快速简便的方法来测试已在本地安装的gem?喜欢:gemtestgem_name_to_testrubygemsdocs说可以将gem:--run-tests放在~/.gemrc文件中,以便在安装gem时运行单元测试。虽然我无法让它工作,但这并不是我所需要的。 最佳答案 您可以导航到gem所在的位置并从那里运行测试,例如:$cd~/.rvm/gems/ruby-1.9.2-p290/gems/awesome_print-0.4.0$rakespec请注意,可能需要通过bundler或gem安装其他依赖项

ruby - 在 Middleman 中移动博客文章位置

我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=

ruby - 为什么 REPL 风格的开发在 Ruby 中并不常见?

看起来Lisp和Clojure程序员经常直接在REPL中开发程序。比照。ClojureDevelopment:IDEorREPL?我的问题是,为什么这种方法在Ruby中不是更常见,通过irb?这仅仅是文化差异,还是有结构(特定于语言)的原因导致以REPL为中心的开发在Lisp中比在Ruby和Python等语言中更常见? 最佳答案 Lisp语法似乎非常适合组合REPL和源文件的方法。当每个表单的文本限制很明确时,以编程方式移动代码片段会容易得多。 关于ruby-为什么REPL风格的开发在R

ruby - 如何将 Interactive Ruby 整合到我的开发过程中?

我正在尝试找到一种更好的方法将IRB与我的常规ruby​​开发集成。目前我很少在我的代码中使用IRB。我只用它来验证语法或尝试一些小的东西。我知道我可以将我自己的代码加载到ruby​​中作为一个require'mycode'但这通常不符合我的编程风格。有时我要检查的变量超出范围或在循环内。有没有一种简单的方法可以启动我的脚本并在IRB内的某个点卡住?我想我正在寻找一种更简单的方法来调试我的ruby​​代码而不破坏我的F5(编译)键。也许有经验的ruby开发者可以和我分享一个更精简的开发方法。 最佳答案 安装ruby​​-debugg

ruby-on-rails - 使用 Rails 以外的 Ruby 框架是否有任何潜在的缺点?

我想使用比Rails(Sinatra/Ramaze/Camping)更轻的框架,但我担心这样做我将无法使用许多以插件形式为Rails定制的共享库.这是一个主要问题,还是这些插件中的大多数都可以跨不同的Ruby框架使用?使用Ruby框架而不是Rails是否还有其他潜在的缺点? 最佳答案 您仍然可以使用gems在你提到的所有框架中,很多东西都是可重用的。想要交换一个新的ORM,没问题。想要一个花哨的shmacy语法高亮,没问题。Rails一直在大力插入摆脱旧的插件模型,转而使用gems。如果其他框架之一符合您的需求,最好使用它。请记住,

ruby - 简单神经网络无法学习 XOR

我正在尝试学习神经网络,并编写了一个简单的反向传播神经网络,该网络使用S型激活函数、随机权重初始化和学习/梯度动量。当配置有2个输入、2个隐藏节点和1个时,它无法学习XOR和AND。但是,它会正确学习OR。我看不出我做错了什么,因此非常感谢任何帮助。谢谢编辑:如前所述,我测试了2个隐藏节点,但下面的代码显示配置为3。我只是忘记在使用3个隐藏节点运行测试后将其更改回2。网络.rb:moduleNeuralclassNetworkattr_accessor:num_inputs,:num_hidden_nodes,:num_output_nodes,:input_weights,:hidd

ruby - 我如何告诉 Sinatra 它是什么环境(开发、测试、生产)?

(免责声明:在Heroku上部署Sinatra的新手。)我看过http://www.sinatrarb.com/configuration.html它告诉我set:environment,:production。我的问题是,我该如何指定它:“在Heroku中,将环境设置为生产环境,否则留在测试/开发中。”此外,即使在set:environment,:production这行之后,我也不认为它在工作,因为当我尝试在本地rackup应用程序时,它是仍在运行(当我知道(或者我认为我知道)它不应该因为我没有在我的计算机上安装postgres时)。gem文件group:productiondog